# Noncollinear

## Notations and theoretical considerations¶

We will denote the spinor by $\Psi^{\alpha\beta}$, ${\alpha, \beta}$ being the two spin indexes. The magnetic properties are well represented by introducing the spin density matrix:

where the sum runs over all states and $f_n$ is the occupation of state $n$.

With $\rho^{\alpha\beta}(\rr)$, we can express the scalar density by

and the magnetization density $\vec m(\rr)$ (in units of $\hbar /2$) whose components are:

where the $\sigma_i$ are the Pauli matrices.

In general, $E_{xc}$ is a functional of $\rho^{\alpha\beta}(\rr)$, or equivalently of $\vec m(\rr)$ and $\rho(\rr)$. It is therefore denoted as $E_{xc}[n(\rr), \vec m(\rr)]$.

The expression of $V_{xc}$ taking into account the above expression of $E_{xc}$ is:

In the LDA approximation, due to its rotational invariance, $E_{xc}$ is indeed a functional of $n(\rr)$ and $|m(\rr)|$ only. In the GGA approximation, on the contrary, we assume that it is a functional of $n(\rr)$ and $|m(\rr)|$ and their gradients. (This is not the most general functional of $\vec m(\rr)$ dependent upon first order derivatives, and rotationally invariant.) We therefore use exactly the same functional as in the spin polarized situation, using the local direction of $\vec m(\rr)$ as polarization direction.

We then have

,

where $\widehat {m(\rr)} = {m(\rr) \over |m(\rr)|}$. Now, in the LDA-GGA formulations, $n_\uparrow + n_\downarrow =n$ and $|n_\uparrow-n_\downarrow|=|m|$ and therefore, if we set $n_\uparrow = (n+m)/2$ and $n_\downarrow=(n-n_\uparrow)$, we have:

and

This makes the connection with the more usual spin polarized case.

Expression of $V_{xc}$ in LDA-GGA

## Implementation¶

Computation of $\rho^{\alpha\beta}(\rr) = \sum_n f_n \la \rr|\Psi^\alpha\ra \la\Psi^\beta|\rr\ra$

One would like to use the routine mkrho which does precisely this but this routine transforms only real quantities, whereas $\rho^{\alpha\beta}(\rr)$ is hermitian and can have complex elements. The trick is to use only the real quantities:

and compute $\rho(\rr)$ and $\vec m(\rr)$ with the help of:

Note that only the forurier transform are performed in mkrho.f, while the final transformation to $\rho(\rr)$, $\vec m(\rr)$ is performed in symrhg.f.

The computation of $V_{xc}$ is performed in rhohxc.f. The only transformation to this routine, is to compute $|\vec m(\rr)|$ and yield back the four component $V_{xc}$, from the expression of ${\delta E_{xc} \over \delta |m (\rr)| }$.